package com.ecloud.openapi.security.convert;

import java.util.List;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import com.ecloud.openapi.security.dto.BaseOrganizationInfoDto;
import com.ecloud.openapi.security.po.BaseOrganizationInfoPo;
import com.ecloud.openapi.security.vo.BaseOrganizationInfoVo;

/**
 * BaseOrganizationInfoConvert 模型转换
 *
 * @author LiuGangQiang Create in 2021/07/04
 */
@Mapper
public interface BaseOrganizationInfoConvert {
    BaseOrganizationInfoConvert INSTANCE = Mappers.getMapper(BaseOrganizationInfoConvert.class);

    /**
     * {@link BaseOrganizationInfoDto}对象 >> {@link BaseOrganizationInfoPo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BaseOrganizationInfoPo} 对象
     */
    BaseOrganizationInfoPo dtoToPo(BaseOrganizationInfoDto dto);

    /**
     * {@link BaseOrganizationInfoDto}集合 >> {@link BaseOrganizationInfoPo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BaseOrganizationInfoPo} 集合
     */
    List<BaseOrganizationInfoPo> dtoToPo(List<BaseOrganizationInfoDto> dtos);

    /**
     * {@link BaseOrganizationInfoPo}对象 >> {@link BaseOrganizationInfoVo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BaseOrganizationInfoVo} 对象
     */
    BaseOrganizationInfoVo poToVo(BaseOrganizationInfoPo po);

    /**
     * {@link BaseOrganizationInfoPo}集合 >> {@link BaseOrganizationInfoVo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BaseOrganizationInfoVo} 集合
     */
    List<BaseOrganizationInfoVo> poToVo(List<BaseOrganizationInfoPo> pos);
}
